package org.jeecg.modules.pipe.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.pipe.entity.MonitorPoint;
import org.jeecg.modules.pipe.entity.PipeFlowLeakage;
import org.jeecg.modules.pipe.vo.PipeMarkerVo;
import org.jeecg.modules.pipe.vo.PipeNextFlowVo;
import org.jeecg.modules.pipe.vo.PipeQueryVo;

import java.util.List;
import java.util.Map;

/**
 * @Description: 监测点
 * @Author: jeecg-boot
 * @Date:   2024-05-18
 * @Version: V1.0
 */
public interface IMonitorPointService extends IService<MonitorPoint> {

    /**
     * 获取监测点marker
     * @param queryVo
     * @return
     */
    List<PipeMarkerVo> getMonitorPointMarker(PipeQueryVo queryVo);

    /**
     * 获取监测点-监控设备
     * @param pointId
     * @return
     */
    JSONArray getMonitorDeviceList(String pointId);

    /**
     * 获取监测点设备实时数据
     * @param pointId
     * @return
     */
    JSONArray getDeviceListReadTimeData(String pointId);

    /**
     * 管段下级-监测点中流量设备
     * @param queryVo
     * @return
     */
    List<PipeFlowLeakage> pipeNextFlowDevice(PipeNextFlowVo queryVo);

    /**
     * 管段漏损分析
     */
    void pipeLeakageAnalysis();
}
